1. Technical Field
The present disclosure relates generally to processing of continuous event streams, and more specifically to reporting results of processing of continuous event streams.
2. Related Art
In traditional database systems, data is stored in one or more databases usually in the form of tables. The stored data is then queried and manipulated using a data management language such as SQL (structured query language). For example, a SQL query may be defined and executed to identify relevant data from the data stored in the database. A SQL query is thus executed on a finite set of data stored in the database. Further, when a SQL query is executed, it is executed once on the finite data set and produces a finite static result. Databases are thus best equipped to run queries over finite stored data sets.
A number of modern applications and systems however generate data in the form of continuous data or event streams instead of a finite data set. Examples of such applications include but are not limited to sensor data applications, financial tickers, network performance measuring tools (e.g. network monitoring and traffic management applications), clickstream analysis tools, automobile traffic monitoring, and the like. For example, a temperature sensor may be configured to send out temperature readings.
Processing of continuous event streams necessarily entails specifying a moving time window along with selection criteria in a query. The selection criteria is applied against data values corresponding to time instances in a specific duration determined by the moving time window to form the results corresponding to that duration. The results are formed at continuous discrete instances as the specific duration is changed according to the moving time window specified in the query.
For example, the moving time window may be specified as (3 minutes width and 2 minutes slide starting at t=3), implying that the results may need to be formed for the events corresponding to the respective durations 0-3, 2-5, 4-7, 6-9, etc. Continuous Query Language (CQL) is an example of a language used for specifying queries for continuous event streams.
It is often desirable that the results of processing of continuous event streams be reported to one or more users. Reporting generally implies making available the corresponding information of interest, based on the results.
Aspects of the present disclosure provide for reporting results of processing of continuous event streams.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.